package com.gwz.cardserver.dto.fight;

import lombok.Data;

/**
 * 回合管理
 */
@Data
public class RoundModel {
    /**
     * 当前回合最大的出牌者
     */
    private String biggestUid;
    /**
     * 当前出牌者
     */
    private String currentUid;
    /**
     * 上一次出牌的长度
     */
    private int lastLength;
    /**
     * 上一次出牌的权值
     */
    private int lastWeight;
    /**
     * 上一次出牌的类型
     */
    private int lastCardType;

    public RoundModel() {
        init();
    }

    public void init() {
        biggestUid = null;
        currentUid = null;
        lastLength = -1;
        lastCardType = -1;
        lastWeight = -1;
    }

    /**
     * 开始出牌
     *
     * @param userId 出牌的玩家id
     */
    public void start(String userId) {
        this.currentUid = userId;
        this.biggestUid = userId;
    }

    /**
     * 改变出牌者
     *
     * @param length
     * @param type
     * @param weight
     * @param userId
     */
    public void change(int length, int type, int weight, String userId) {
        this.biggestUid = userId;
        this.lastLength = length;
        this.lastCardType = type;
        this.lastWeight = weight;
    }

    /**
     * 转换出牌
     * @param userId
     */
    public void turn(String userId) {
        this.currentUid = userId;
    }
}
